Translation Validation for Clock Transformations in a Synchronous Compiler
نویسندگان
چکیده
Translation validation was introduced as a technique to formally verify the correctness of code generators that attempts to ensure that program transformations preserve the semantics of input program. In this work, we adopt this approach to construct a validator that formally verifies the preservation of clock semantics during the Signal compiler transformations. The clock semantics is represented as a first-order logic formula called clock model. We then introduce a refinement which expresses the preservation of clock semantics, as a relation on clock models. Our validator does not require any instrumentation or modification of the compiler, nor any rewriting of the source program.
منابع مشابه
Translation Validation for Transformations on Abstract Clocks in Synchronous Languages
Translation validation was introduced as a technique to formally verify the correctness of code generators that attempts to verify that program transformations preserve the semantics. In this work, we adopt this approach to formally verify that the clock semantics is preserved during the transformations of a synchronous data-flow compiler. We represent the clock semantics of a program and its t...
متن کاملFormal verification of automatically generated C-code from polychronous data-flow equations
Synchronous data-flow languages are used as design approaches in developing embedded and critical real-time systems in which synchronous programs are verified by applying formal verification. In a synchronous design approach, transformation and optimization are used to transform synchronous programs and generate general purpose executable code. The incorrectness of the transformations make the ...
متن کاملTranslation Validation
We present the notion of translation validation as a new approach to the veriication of translators (compilers, code generators). Rather than proving in advance that the compiler always produces a target code which correctly implements the source code (compiler verii-cation), each individual translation (i.e. a run of the compiler) is followed by a validation phase which veriies that the target...
متن کاملFormal Verification of Transformations on Abstract Clocks in Synchronous Compilers
Translation validation was introduced in the 90’s by Pnueli et al. as a technique to formally verify correctness of code generated from the synchronous data-flow language Signal. Rather than certifying the code generator (by writing it entirely using a theorem prover) or exhaustively qualifying it (by obeying the 27 required documents of DO-178C), translation validation provides a scalable appr...
متن کاملInto the Loops: Practical Issues in Translation Validation for Optimizing Compilers
Translation Validation is a technique for ensuring that the target code produced by a translator is a correct translation of the source code. Rather than verifying the translator itself, translation validation validates the correctness of each translation, generating a formal proof that it is indeed a correct. Recently, translation validation has been applied to prove the correctness of compila...
متن کامل